#include<iostream>
using namespace std;

struct Stack {
	int data[10000];
	int top = -1;
	
	void push(int x) {
		top++;
		if(top < 10000) {
			data[top] = x;
		} else {
			top--;
			cout << "stack overflow" << endl;
		}
	}
	
	void pop() {
		if( top >= 0) {
			top--;
		}
	}
	
	int topval() {
		if(top >= 0) {
			return data[top];
		}
	}
	
	
};

int main(void) {
	Stack s;
	for(int i = 0; i < 10; i++) {
		s.push(i);
	}
	while(s.top) {
		cout << s.topval() << endl;
		s.pop();
	}
	return 0;
}
